---
id: 3
title: 入门指南
slug: /
---


import useBaseUrl from "@docusaurus/useBaseUrl";
import Tag from "@site/src/components/Tag.js";
import Highlight from '@site/src/components/Highlight.js';

## 一、说明

**ThingsGateway** 基于NET8/NET9,默认开发IDE为VS2022(**17.12版本以上**),安装VS时需勾选ASP.NET类别.

<img src={require("@site/static/img/docs/vs2022install.png").default} />

## 二、拉取源码

[最新版本](https://gitee.com/diego2098/ThingsGateway) 

<img src={require("@site/static/img/docs/git1.png").default} />
<img src={require("@site/static/img/docs/git2.png").default} />
<img src={require("@site/static/img/docs/git3.png").default} />
<img src={require("@site/static/img/docs/git4.png").default} />



## 三、编译运行

下面我们将以vs2022作为示例：


1、 设置ThingsGateway.Server为启动项目，开始调试或开始执行
<img src={require("@site/static/img/docs/设置启动项目.png").default} />
<img src={require("@site/static/img/docs/开始执行.png").default} />

2、 启动后会显示登录界面

<img src={require("@site/static/img/docs/login.png").default} />

恭喜你体验了软件的启动第一步！

:::tip 提示

测试环境下，账密会自动填充为超级管理员账号，默认账户：**SuperAdmin**，密码：**111111**

:::  


## 四、建立一个完整的流程

下面举例说明 采集ModbusTcp设备中的寄存器，通过 MqttServer 发布 的具体流程

### 1、建立通道
<img src={require("@site/static/img/docs/添加通道.png").default} />

添加modbus通道
<img src={require("@site/static/img/docs/通道配置1.png").default} />

添加mqttServer通道，选择other即可
<img src={require("@site/static/img/docs/通道配置2.png").default} />

### 2、建立采集设备

<img src={require("@site/static/img/docs/添加设备.png").default} />

添加采集设备，选择tcpClient通道
<img src={require("@site/static/img/docs/采集设备1.png").default} />
<img src={require("@site/static/img/docs/采集设备2.png").default} />

### 3、建立业务设备
添加业务设备，选择mqttClient通道，mqttClient驱动，插件属性中填入第三方MqttBroker的连接信息
<img src={require("@site/static/img/docs/业务设备1.png").default} />
<img src={require("@site/static/img/docs/业务设备2.png").default} />

### 4、建立变量

添加变量，选择modbusTcp设备，填写变量寄存器地址
<img src={require("@site/static/img/docs/变量1.png").default} />


<img src={require("@site/static/img/docs/变量3.png").default} />

鼠标移至输入框，会有寄存器格式的tip提示

变量寄存器地址为字符串形式，如果插件已支持可视化配置，可以点击右侧按钮，弹出编辑窗口

<img src={require("@site/static/img/docs/变量2.png").default} />



### 5、验证

经过以上的配置，已经可以从127.0.0.1:502的模拟Modbus设备中，采集到PLC地址(400001)，并通过网关的mqttClient插件发布到第三方mqttBroker
。下面来验证一下

首先先启动模拟的modbusSlave软件
<img src={require("@site/static/img/docs/modbus模拟软件.png").default} />

可以看到数据已经采集正常

<img src={require("@site/static/img/docs/变量状态1.png").default} />

可以看到值与采集时间等等的变化，注意这里的页面实时值变化是1s的间隔时间，如果配置了采集间隔小于1s，页面刷新不及时是正常的，不影响业务上传

点击切换查看日志

<img src={require("@site/static/img/docs/切换查看日志.png").default} />

开启调试日志的话，可以看到每次交互的modbus报文以及结果状态

<img src={require("@site/static/img/docs/查看调试日志1.png").default} />
<img src={require("@site/static/img/docs/查看调试日志2.png").default} />


MqttServer的日志也可以在运行状态中看到
<img src={require("@site/static/img/docs/查看调试日志3.png").default} />


## 五、详细说明

:::tip 提示

在查看案例前，请先查看**关于网关的基础内容**

:::  
- [文档](https://diego2098.gitee.io/thingsgateway-docs) 

- [博客](https://www.cnblogs.com/ThingsGateway/collections/1104) 

- [视频](https://space.bilibili.com/88105259/channel/series) 

